package com.sz.admin.datainfo.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotNull;

/**
 * <p>
 * 监控文件记录更新DTO
 * </p>
 *
 * @author sz-admin
 * @since 2025-09-16
 */
@Data
@Schema(description = "监控文件记录更新DTO")
public class MonitorFileRecordUpdateDTO {

    @Schema(description = "记录ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "记录ID不能为空")
    private Long id;

    @Schema(description = "监控ID")
    private Long monitorId;

    @Schema(description = "原始文件路径")
    private String originalPath;

    @Schema(description = "原始文件名")
    private String originalFilename;

    @Schema(description = "新文件名")
    private String newFilename;

    @Schema(description = "存储路径")
    private String storagePath;

    @Schema(description = "文件大小")
    private Long fileSize;

    @Schema(description = "文件类型")
    private String fileType;

    @Schema(description = "OSS对象名")
    private String objectName;

    @Schema(description = "访问URL")
    private String fileUrl;

    @Schema(description = "处理状态（1:成功 0:失败）")
    private String processStatus;

    @Schema(description = "错误信息")
    private String errorMessage;

    @Schema(description = "文件MD5")
    private String fileMd5;

    @Schema(description = "文件标签（子目录名）")
    private String fileTag;

    @Schema(description = "关联的sys_file表ID")
    private Long sfId;

    @Schema(description = "识别出的车牌号码")
    private String carNumber;

    @Schema(description = "OCR识别结果JSON")
    private String carNumberRes;

    @Schema(description = "备注")
    private String remark;
}